概述
互联网的基本特点:连通性和共享。
网络边缘的端系统的通讯方式:C/S(客户机-服务器方式)和P2P(对等方式)。
- 客户机和服务器都是指通讯中涉及的两个进程。
- 客户是服务请求方,服务器是服务提供方。
- 对等连接不区分服务请求方和服务提供方。
路由器是一种专用计算机,实现分组交换的关机部件,任务是转发收到的分组。
五层模型
应用层:通过进程间的交互完成特定的网络应用。应用成协议定义进程间通讯和交互的规则。交互的数据单元称为报文。域名系统DNS,万维网HTTP,文件传输FTP,TFTP,邮件服务SMTP。
传输层:为两台主机进程间通信提供通用的数据传输服务。TCP,UDP协议。
网络层:为分组交换网上不同的主机提供通信服务。另一个任务是选择合适的路由,使源主机传输层传下来的分组能够通过网络中的路由器找到目的主机。
数据链路层:将网络层传下来的IP数据报封装成帧,并加上控制信息(地址信息,同步信息,查错信息),在接收数据时提取数据信息上交给网络层。
物理层:用来接收和发送1,0比特
数据链路层
点对点信道
MAC帧格式
网络层IP协议
网络互连需要的中间设备:网络互连主要是指使用路由器进行网络互连和路由选择
IP协议使性能各异的网络在网络层上看起来像是一个统一的网络。在这种全球覆盖的IP网络上层使用TCP协议就是现在的互联网。
IP地址={<网络号>,<主机号>}
- 每一个IP地址都由网络号和主机号组成。IP地址管理机构在分配IP地址时只分配网络号,主机号由分配到此网络号的单位自行分配。
- 发送数据时,路由器根据目的主机所连接的网络号来转发分组。
- 一个路由器至少要连接到两个网络,因此至少应该有两个主机
- 用转发器或网桥连接起来的若干局域网仍为一个网络,因为他们具有相同的网络号。
IP地址和物理地址的区别
ARP地址解析协议
每一个主机都设有ARP高速缓存,用来存放本局域网各主机和路由器的IP地址到硬件地址的映射表。路由表最重要的两个信息(目的网络地址,下一跳地址)
获取映射的方法:
当两主机不在同一个局域网上时,要多次使用ARP协议。
IP数据报的格式
版本:IP协议的版本。IPV1,IPV6
首部长度:首部有多少个4字节长度
总长度:首部和数据值和的长度
标识:每产生一个数据报,标识加1,当数据过大进行数据报分片时,数据报片的标识号一样,因此方便数据片的重组。
标志:最低位MF=1表示后面还有分片,中间位DF=1表示不能分片。
片偏移:分片后,某片在元分组中的位置,以8字节为单位。
生存时间:简写TTL,每经过一个路由器TTL的值减1,TTL值等于0时数据包被网络丢弃。
协议:指明数据报应交给那个上层协议处理。
数据报经过路由器的发送过程
TCP报文的首部格式
序号:在一个TCP连接中传送的字节流中的每一个字节都按字节编号。
确认号:期望收到对方下一个报文段的第一个字节的序号,若确认号=N则表明到N-1为止的左右数据都已正确收到。
数据偏移:是TCP报文数据距报文起始的长度,即报文首部的长度。
保留:应置零。
六个确认位:
URG:紧急位,URG=1表明当前数据是紧急数据,紧急指针字段有效。
ACK:确认位,ACK=1确认号字段才有效。TCP规定,建立连接后所有传送的报文段都必须把ACK位置1。
PSH:希望对方尽快响应,而不必等缓存满,再接收时使用。
PST:复位位,RST=1表明TCP连接中出现错误,必须释放连接然后再重新建立连接。
SYN:同部位,连接建立时用来同步序号。
SYN=1,ACK=0表明是连接请求报文段,SYN=1,ACK=1表明是同意建立连接。
FIN:终止位,FIN=1表明发送方数据已发送完毕,请求释放连接。
窗口:是发送本报文段的一方的接收窗口大小。其明确指出了允许对方发送的数据量,窗口大小是动态变化的。
检验和:
紧急指针:URG=1时有意义,指明紧急数据的字节数。
TCP的连接建立
- AB进程创建相应的控制传输块TCB,服务器B进程处于LISTEN状态,等待客户连接请求。
- A向B发送连接请求报文段,SYN=1,ACK=0,seq=x,A进入同步已发送状态(SYN-SENT)
- B收到请求连接报文段,若同意连接则发送确认报文段,SYN=1,ACK=1,seq=y,ack=x+1,此时服务器进入同步收到状态(SYN-RCVD)
- 客户进程A收到B的确认报文段后还要给出确认。SYN=1,ACK=1,seq=x+1,ack=y+1,此时已经建立连接A进入已建立连接状态(ESTAB-LISHED),B收到A的确认报文也进入ESTAB-LISHED状态。
注:以上称为三报文握手连接,一二报文消耗序列号,三报文如果不带数据则不消耗序列号。
TCP连接的端点是套接字(端口号拼接到IP地址形成套接字,socket=IP地址:端口号)。
每一条IP连接唯一的被通信两端的套接字socket所确定。
TCP的连接释放
TCP和UDP的对比
FTP协议的连接过程
万维网WWW
- 万维网使用统一资源定位符URL来标志万维网上的各种文档
URL实际上是互联网上任何可访问对象的地址。
<协议>://<主机>:<端口>/<路径>
常用协议:HTTP,FTP
主机:主机域名
端口:http协议默认80
端口和路径有时可以省略
例:http://www.hefeiut.com
- 万维网客户机与服务器之间遵守超文本传送协议HTTP,它依靠TCP协议进行传输
HTTP协议定义了浏览器(客户机)怎么向万维网服务器请求万维网文档以及浏览器怎么把文档发给服务器。HTTP协议可以传输互联网上任何信息(包括文本,图片,视频)
万维网工作过程:
- 万维网使用超文本标记语言HTML