第二章:Internet Protocols
TCP/IP and the DoD Model
DoD模型被认为是OSI参考模型的浓缩品,分为4层,从上到下是:
1.Process/Application layer
2.Host-to-Host layer
3.Internet layer
4.NetworkAccess layer
其中,假如在功能上和OSI参考模型互相对应的话,那么:
1.DoD模型的Process/Application层对应OSI参考模型的最高3层
2.DoD模型的Host-to-Host层对应OSI参考模型的Transport层
3.DoD模型的Internet层对应OSI参考模型的Network层
4.DoD模型的Network Access层对应OSI参考模型的最底2层
The Process/Application Layer Protocols
Process/Application层包含的协议和应用程序有:
Telnet,FTP,X Windows,TFTP,SMTP,SNMP,NFS和LPD等等
Dynamic Host Configuration Protocol(DHCP)/BootP(Bootstrap Protocol)
动态主机配置协议(DHCP)服务器可以提供的信息有:
1.IP地址
2.子网掩码(subnet mask)
3.域名(domain name)
4.默认网关(default gateway)
5.DNS
6.WINS信息
The Host-to-Host Layer Protocols
Host-to-Host层描述了2种协议:
1.传输控制协议(Transmission Control Protocol,TCP)
2.用户数据报协议(User Datagram Protocol,UDP)
Transmission Control Protocol(TCP)
当1个主机开始发送数据段(segment)的时候,发送方的TCP协议要与接受方的TCP协议进行协商并连接,连接后即所谓的虚电路(virtual circuit),这样的通信方式就叫做面向连接(connection-oriented).面向连接的最大优点是可靠,但是它却增加了额外的网络负担(overhead)
User Datagram Protocol(UDP)
UDP协议的最他特点是无连接(connectionless),即不可靠,因为它不与对方进行协商并连接,它也不会给数据段标号,也不关心数据段是否到达接受方
Key Concepts of Host-to-Host Protocols
现在把TCP协议和UDP协议的一些特性做个比较:
1.TCP.协议在传送数据段的时候要给段标号;UDP协议不
2.TCP协议可靠;UDP协议不可靠
3.TCP协议是面向连接;UDP协议采用无连接
4.TCP协议负载较高;UDP协议低负载
5.TCP协议的发送方要确认接受方是否收到数据段;UDP反之
6.TCP协议采用窗口技术和流控制;UDP协议反之
Port Numbers
TCP和UDP协议必须使用端口号(port number)来与上层进行通信,因为不同的端口号代表了不同的服务或应用程序.1到1023号端口叫做知名端口号(well-known port numbers).源端口一般是1024号以上随机分配
The Internet Layer Protocols
在DoD模型中,Internet层负责:路由,以及给上层提供单独的网络接口
Internet Protocol(IP)
IP协议查找每个数据包(packets)的地址,然后,根据路由表决定该数据包下1段路径该如何走,寻找最佳路径
Internet Control Message Protocol(ICMP)
ICMP协议一样是工作在DoD模型的Internet层,IP协议使用ICMP协议来提供某些不同的服务,ICMP协议是一种治理协议
一些ICMP协议相关信息和事件:
1.目标不可达(destination unreachable):假如1个routers不能把IP协议数据报发送到更远的地方去,于是router将发送ICMP协议信息给数据报的发送方,告诉它说目标网络不可达
2.缓冲区已满(buffer full):假如router的缓冲区已经存满发送方发来的IP协议数据报了,它将发送ICMP协议信息给发送方并告诉它缓冲区已满,假如再继续接受的话将导致缓冲区溢出,造成数据丢失
3.跳(hops):IP协议数据报经过1个router,称为经过1跳
4.Ping(Packet Internet Groper):采用ICMP协议信息来检查网络的物理连接和逻辑连接是否完好
5.Traceroute:根据ICMP协议信息来跟踪数据在网络上的路径,经过哪些跳
Address Resolution Protocol(ARP)
地址解析协议(ARP)用于根据1个已知的IP地址查找硬件地址.它把IP地址翻译成硬件地址
Reverse Address Resolution Protocol(RARP)
RARP协议用于把MAC地址翻译成IP地址
IP Addressing
IP地址是软件地址,MAC地址是硬件地址,MAC地址是烧录在NIC里的,MAC地址用于在本地网络查找主机地址.IP地址是唯一的,也叫做网络地址(network address);硬件地址也叫节点地址(node address)
Network Address
网络地址分为5类:
1.A类地址:4个8位位组(octets).第一个octet代表网络号,剩下的3个代表主机位.范围是0xxxxxxx,即0到127
2.B类地址: 前2个octets代表网络号,剩下的2个代表主机位. 范围是10xxxxxx,即128到191
3.C类地址: 前3个octets代表网络号,剩下的1个代表主机位. 范围是110xxxxx,即192到223
4.D类地址:多播地址,范围是224到239
5.E类地址:保留,实验用,范围是240到255
Network Address:Special Purpose
一些非凡的IP地址:
1.IP地址127.0.0.1:本地回环(loopback)测试地址
2.广播地址:255.255.255.255
3.IP地址0.0.0.0:代表任何网络
4.网络号全为0:代表本网络或本网段
5.网络号全为1:代表所有的网络
6.节点号全为0:代表某个网段的任何主机地址
7.节点号全为1:代表该网段的所有主机
广播地址TCP/IP协议规定,主机号部分各位全为1的IP地址用于广播.所谓广播地址指同时向网上所有的主机发送报文,也就是说,不管物理网络特性如何,Internet网支持广播传输.如136.78.255.255就是B类地址中的一个广播地址,你将信息送到此地址,就是将信息送给网络号为136.78的所有主机.有时需要在本网内广播,但又不知道本网的网络号时,TCP/IP协议规定32比特全为1的IP地址用于本网广播,即255.255.255.255
Private IP Address
私有IP地址(private IP address):节约了IP地址是空间,增加了安全性.处于私有IP地址的网络称为内网,与外部进行通信就必须靠网络地址翻(network address translation,NAT)
一些私有地址的范围:
1.A类地址中:10.0.0.0到10.255.255.255.255
2.B类地址中:172.16.0.0到172.31.255.255
3.C类地址中:192.168.0.0到192.168.255.255
Broadcast Address
广播地址:
1.层2广播:FF.FF.FF.FF.FF.FF,发送给LAN内所有节点
2.层3广播:发送给网络上所有节点
3.单播(unicast):发送给单独某个目标主机
4.多播:由1台主机发出,发送给不同网络的许多节点
IntrodUCtion to Network Address Translation(NAT)
NAT一般都操作在Cisco router上,用于连接2个网络,同时把私有地址翻译公有地址
一些NAT的种类以及特点:
1.静态NAT(static NAT):本地地址和全局地址一一对应.这样的方式需要你拥有真正的Internet上的IP地址
2.动态NAT(dynamic NAT):把未注册的IP地址对应到已注册IP地址池中的某个IP地址上.你不必需要静态配置你的router使内外地址对应
3.超载(overloading):采用的最广泛的NAT配置类型.类似动态NAT,但是它是把1组未注册的IP地址根据不同的端口(ports)对应到1个已注册的IP地址上.因此,它又叫做端口地址翻译(port address translation,PAT)