概述
局域网 local area network ,LAN包含:
以太网ethernet(IEEE802.3),通过一条电缆连接所有计算机,10Mbps-10Gbps
IBM令牌环(IEEE802.5),将所有电脑环形连接,速率4Mbps-16Mbps
广域网wide area network,WAN:
通信子网
路由器
存储转发(store-and-forward)或分组交换(packet-switched):线路空闲才会发送数据,则数据需要先分组、存储。再发送。
无线网络:
wifi
协议栈:一个特定系统使用一组协议
下层两种不同类型的服务:
面向连接:建立连接后发送数据
无连接:每个报文都有完整的目标地址
服务质量:quality of service:接受方收到数据后回复一条信息,确保报文到达。有额外负载和延迟,但服务质量提高。
可靠面向连接服务两种变形:报文序列(有报文边界,如接受长度确定)、字节流(无边界)
在视频会议中,由于确认传输而导致视频延迟比起不确认的视频模糊更不可接受。
故有些应用可以无须确认报文到达。
不可靠(无经确认)无连接服务:数据报服务。
OSI七层模型与TCP/IP四层模型
TCP/IP发展历史:IMP子网连接协议(1969年)、最终发明了tcp/ip(1974年)协议(在berkeley unix中实现)
有趣的Internet发展历史:随着机器互联,早期email,news,telnet、ssh,ftp,一直到物理学家internet被发明
有趣的ethernet发展历史:metcalfe哈佛毕业后在夏威夷工作(学习无线类似局域网功能),后来在xerox发明了ethernet,以及IBM的令牌环。
Internet控制协议
arp : address resolution protocol 地址解析协议
internet每台机器都有一ip地址,但发送分组时并不是使用ip。数据链路层硬件并不理解internet地址。局域网内连接到LAN以太网上,LAN上只认LAN(以太网)地址。
arp协议是这样的协议,发送数据前,广播发送arp请求(目标地址),如果你的地址是目标地址,用自己的以太网地址作为应答。
这个过程所使用的协议称为ARP地址解析协议
RARP BOOTP DHCP协议
反向地址解析协议RARP:知道以太网地址,获得ip的协议。
由于RARP发送时目标地址为全1,路由器无法转发。
故出现BOOTP协议:
BOOTP发送UDP请求,可以被路由器转发。但需要手工配置ip和以太网地址在路由器上。
为了避免手工配置出错,BOOTP发展为DHCP(Dynamic Host Configuration Protocol)动态主机配置协议:
新主机请求DHCP,从ip池中分配一动态ip.
传输层
TPDU:Transport protocol data unit 传输协议数据单元
建立连接三次握手 (正常情况)
A发送请求,B接收请求
CR(seq=x)
---------------------->
ACC(seq=y,ack=x)
<---------------------
DATA(seq=x,ack=y)
---------------------->
建立连接 三次握手 (异常情况)
*=old tpdu
*CR(seq=x)
*---------------------->B收到延迟的请求
ACC(seq=y,ack=x)
<---------------------B回复该请求
REJECT(ack=y)
---------------------->A机器知道该请求已经过期,发送reject给B
断开连接
单独断开一方连接(非对称释放) ,可能导致数据丢失
故一方发起断开连接后,仍然可以收发数据,直至对方回复断开后,连接才断开。
DR(Disconnection request)
-------------------------->(此包如果发送失败,则A不断重试)
DR
<-------------------------(此包如果发送失败,则A重试)
ACK
-------------------------->(此包如果发送失败,则B超时释放连接)
Internet 传输协议-udp
无连接传输协议:user datagram protocol 用户数据报
udp为应用程序发送经过封装的ip数据报,RFC768描述了udp.
实时传输协议
RTP(real-time transport protocol)
rtp运行在udp之上,实现在应用程序中
internet传输协议-tcp
transmission control protocol传输控制协议
开始于RFC793,到RFC1323进行了修补与扩展.
套接字号(地址):由ip+16位端口号
1024以下端口号为well-know port,知名端口号保留于一些标准服务。