为什么80%的码农都做不了架构师?>>>
TCP/IP被认为是一个4层协议系统:
链路层:在最里面,也称为数据链路层或者网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。他们一起处理与电缆的物理接口细节。
网络层:在链路层上面,也可称为互联网层,处理分组在网络中的活动。提供点到点的服务。网络层协议包括IP协议(网际协议),ICMP协议(Internet组管理协议)。
运输层:主要是为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
TCP所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。UDP是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。
应用层:负责处理特定的应用程序细节。
IP地址具有一定的结构,长32bit,A类(0.0.0.0-127.255.255.255)、B类(128.0.0.0-191.255.255.255)、C类(192.0.0.0-223.255.255.255)、D类(224.0.0.0-239.255.255.255)、E类(240.0.0.0-247.255.255.255),我们现在用C类。域名系统为主机名和IP地址之间提供动态的映射。
以太网是当今TCP/IP采用的主要的局域网技术。它采用一种称作CSMA/CD的媒体接入方法,其意思是带冲突检测的载波侦听多路接入,速率10Mb/s,地址为48bit。
IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP和IGMP数据都以IP数据报格式传输。但是IP提供的是不可靠、无连接的数据报传送服务。不可靠是不能保证IP数据报能成功地到达目的地。无连接是IP并不维护任何关于后续数据报的状态信息。每个数据报都是相互独立的。网络数据传输以big endian字节序(大端)。大端是高位字节存放在内存的低地址端,低位字节存放在内存的高地址端。普通电脑使用little endian字节序(小端)。小端是低位字节存放在内存的低地址端,高位字节存放在内存的高地址端。
IP路由选择:如果目的主机与源主机直接相连(如点对点链路)或都在一个共享网络上(以太网或令牌环网),那么IP数据报就直接送到目的主机上。否则,主机把数据报发送往一默认的路由器上,由路由器转发该数据报。IP层既可以配置成路由器功能,也可以配置成主机的功能。IP层在内存中有一个路由表,当收到一份数据报并进行发送时,它都要对该表搜索一次。当数据报来自某个网络接口时,IP首先检查目的IP地址是否为本机的IP地址之一或者IP广播地址。如果是,数据报就被送到由IP首部协议字段所指定的协议模块进行处理,如果数据报的目的不是这些地址,那么如果IP层被设置为路由器的功能,那么就对数据报进行转发;否则数据报被丢弃。路由表的每一项都包含:1)目的IP地址 它既可以是一个完整的主机地址,也可以是一个网络地址,由该表目中的标志字段来指定。2)下一站(下一跳)路由器的IP地址,或者有直接连接的网络IP地址。下一路由器是指一个在直接相连网络上的路由器,通过它可以转发数据报,下一站路由器不是最终目的,但是它可以把传送给它的数据报转发到最终目的。3)标志 其中一个标志指明目的IP地址是网络地址还是主机地址,另一个标志指明下一站路由器是否为真正的下一站路由器,还是一个直接相连的接口。4)为数据报的传输指定一个网络接口。