互联网协议入门(一)

来源:互联网 发布:java字符串时间转换 编辑:程序博客网 时间:2024/06/04 01:25

一、OSI中的层 功能 TCP/IP协议族:
应用层—— 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示层——  数据格式化,代码转换,数据加密 没有协议
会话层——  解除或建立与别的接点的联系 没有协议
传输层——  提供端对端的接口 TCP,UDP
网络层——  为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP
数据链路层——  传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU
物理层——  以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2


二、TCP/IP五层模型的协议
 
2.1 物理层:
这就叫做"实体层",它就是把电脑连接起来的物理手段。它主要规定了网络的一些电气特性,作用是负责传送0和1的电信号。
2.2 数据链路层:
2.2.1 确定了0和1的分组方式。
2.2.2  以太网协议
    单位: "帧"(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。整个"帧"最短为64字节,最长为1518字节。
2.2.3 MAC地址
      网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。
      有了MAC地址,就可以定位网卡和数据包的路径了。
2.2.4  广播(ARP协议)
    以太网采用了一种很"原始"的方式,它不是把数据包准确送到接收方,而是向本网络内所有计算机发送,让每台计算机自己判断,是否为接收方。
      局限在发送者所在的子网络。


2.3 网络层
2.3.1IP协议
规定网络地址的协议,叫做IP协议。它所定义的地址,就被称为IP地址。
   互联网上的每一台计算机,都会分配到一个IP地址。这个地址分成两个部分,前一部分代表网络,后一部分代表主机。
总结一下,IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。
 2.3.2 子网掩码
怎样才能从IP地址,判断两台计算机是否属于同一个子网络呢?这就要用到另一个参数"子网掩码"(subnet mask)。 
知道"子网掩码",我们就能判断,任意两个IP地址是否处在同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。
   计算有多少台计算机方法:一般把子网掩码转换为二进制,然后数一下这个数后面有N个0,可算出这个子网最多有2的N次方台计算机


2.4传输层
2.4.1 传输层的由来
有了MAC地址和IP地址,我们已经可以在互联网上任意两台主机上建立通信。
"传输层"的功能,就是建立"端口到端口"的通信。相比之下,"网络层"的功能是建立"主机到主机"的通信。只要确定主机和端口,我们就能实现程序之间的交流。因此,Unix系统就把主机+端口,叫做"套接字"(socket)。有了它,就可以进行网络应用程序开发了。


2.4.2 UDP协议 和TCP协议
UDP协议优点是比较简单,容易实现,但是缺点是可靠性较差,一旦数据包发出,无法知道对方是否收到。
TCP协议能够确保数据不会遗失。它的缺点是过程复杂、实现困难、消耗较多的资源。
2.5应用层


应用程序收到"传输层"的数据,接下来就要进行解读。由于互联网是开放架构,数据来源五花八门,必须事先规定好格式,否则根本无法解读。
"应用层"的作用,就是规定应用程序的数据格式。
举例来说,TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了"应用层"。

参考链接为:互联网协议入门