概述
网络分层模型:
- 链路层:同一局域网之间的通信,主要包括设备驱动及接口卡
- 网络层:用于多个子网之间的通信,主要包括IP协议(网际协议)、ICMP(Internet互联网控制报文协议)
- 传输层:主要为两台主机上的应用程序提供端到端的通信,主要协议有TCP(传输控制协议)和UDP(用户数据报协议)
- 应用层:负责处理特定的应用程序细节,如HTTP、FTP等
数据包的封装与分用:
- 数据包的封装:当应用程序通过 TCP 进行数据传送时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还会增加尾部信息),这就是数据包的封装
- TCP 传给 IP 的数据单元称作 TCP 报文段或简称 TCP 段(TCP segment)
- IP 传给网络链路层的数据单元称为 IP 数据报(IP datagram)
- 通过以太网进行传输的比特流称为帧(Frame)
- 数据包的分用:当目的主机收到一个以太网数据帧时,数据就从协议栈中由底向上升,同时去掉各层协议加上的报文首部。经过每层协议时都要去检查报文首部中的协议标识,以确定接受数据的上层协议,这个过程称为分用
IP地址
IP 地址分类:互联网上的每个接口必须有一个唯一的 Internet 地址,即IP地址
- IP地址长32位,通常写成四个十进制的数,每个整数对应一个字节,即“点分十进制表示法”
- IP 地址分为网络段和主机段
- 网络段用来标识网络类别
- 主机段用来标识具体地址
- 特殊的主机标识段:全0 或 全1,这两个地址不能配置在计算机主机上
- 全0:代表网络号,属于网段中的第一个地址
- 全1:广播地址,属于网段中的最后一个地址
- 广播地址:在 TCP/IP 协议中,主机标识段(host ID)全为 1 的IP地址为广播地址,广播的分组传送给 host ID 段所涉及的所有计算机
- 受限广播:255.255.255.255(网络字段和主机字段全为 1 ),不会被路由发送,但会被送到相同物理网段上的所有主机
- 直接广播:IP的网络段定义这个网络,主机字段通常全为 1,会被路由,并会发送到专门网络上的每台主机
子网:借用IP地址中若干位主机地址来充当子网的网络地址,从而将原网络划分为若干子网
- 如 C 类地址,原有8位主机位,共 256 - 2 即 254 个主机地址(全0或全1),默认子网掩码 255.255.255.0
- 借用一位主机地址位,产生两个子网,每个子网有 2^7 - 2 即 126 个地址
- 借用两位主机地址位,产生四个子网,每个子网有 2^6-2 即 62 个地址;…… 以此类推
- 子网掩码:应用于 TCP/IP 网络的32位二进制值,每节8位,与 IP 地址32位对应,如果某位是网络地址,则子网掩码为1,否则为0
- 子网掩码可以分离出IP地址中的网络地址和主机地址
- 网络地址的获取:子网掩码与IP地址进行“与”运算
- 主机地址的获取:子网掩码按位取反,然后与IP地址进行“与”运算
- 计算机通讯:如果网络地址一样,即处于同一个广播域内,就可以将数据包直接发送到目标主机;否则,就需要通过路由网关将数据包转发送到目的地
- 子网掩码可以分离出IP地址中的网络地址和主机地址
子网掩码示意图:
C 类 IP 地址子网划分:
借用位数 | 子网掩码 | 每个子网中主机数 |
---|---|---|
1 | 255.255.255.128 | 128-2=126 |
2 | 255.255.255.192 | 64-2=62 |
3 | 255.255.255.224 | 30 |
4 | 255.255.255.240 | 14 |
5 | 255.255.255.248 | 6 |
子网产生的原因:
- 在 A 类地址中,每个 A 类网络可能有 16777214 台主机,它们处于同一广播域。但很明显,在同一广播域中有这么多主机是不可能的,网络会因为广播通信而饱和
- IP地址资源越来越少
域名解析
域名解析步骤(DNS):从右向左
DNS查询
域名解析方式:
1、递归查询
2、迭代查询:
TCP
TCP 三次握手,四次挥手:
1、三次握手:确认双方都可以发送和接受消息
三次握手数据随机的必要性:
- 服务端有可能同一时间接受多个客户端的连接,syn请求连接参数的随机便于服务器的区分
- 为了网络安全
2、四次挥手:
Service,Protocol,or Application | Port Number | TCP or UDP |
---|---|---|
FTP(File Transfer Protocol) | 20,21 | TCP |
SSH(Secure Shell Protocol) | 22 | TCP |
Telnet | 23 | TCP |
SMTP(Simple Mail Transfer Protocol) | 25 | TCP |
DNS(Domain Name System) | 53 | UDP |
TFTP | 69 | UDP |
HTTP | 80 | TCP |
POP3 | 110 | TCP |
IMAP4 | 143 | TCP |
HTTPS | 443 | TCP |