网络
网络设备有:交换机,路由器,集线器 传输介质有:双绞线,同轴电缆,光纤
IP地址
定义
IP地址是给因特网上每个主机的每一个接口分配的一个在全世界范围内唯一的标识符
分类
- IPV4:32位,用"."分成四个段,每段8位,用10进制表示
例:“192.168.31.1” - IPV6:128位,每段16位,用4个16进制数表示
例:“2001:0db8:3c4d:00015:0000:0000:1a2f:1a2b”
组成
网络号+主机号 同一个网络中的主机网络号相同,主机号不同。
| |
---|
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 |
linux中查看ip地址:命令“ifconfig”
MAC地址
硬件地址又称物理地址或MAC地址,长度48位,存储在ROM中。
网络协议
| |
---|
HTTP | 超文本传输协议 | FTP | 文本传输协议 | TELNET | internet远程登录服务的协议 | TCP | 传输控制协议 | UDP | 用户数据报协议 | IP | 网际协议(互联网协议) | ICMP | 因特网控制报文协议 | ARP | 地址解析协议 | RARP | 逆地址解析协议 |
OSI模型和TCP/IP协议族体系
数据链路层
常用协议
实现了IP地址和机器物理地址(MAC地址)之间的相互转换
ARP协议
- ARP协议(Assress Resolve Protocol,地址解析协议):网络层使用IP地址寻址,而数据链路层使用物理地址寻址,因此必须要将机器的IP地址转化为其物理地址,才能使用数据链路层提供的服务
-
工作原理 主机向自己所在的网络广播一个ARP请求,该请求包含目标机器的网络地址,此网络上的其他机器都将收到这个请求,但只有被请求的目标机器会回应一个ARP应答,其中包含自己的物理地址<\u> -
ARP高速缓存 高速缓存中包含经常访问或最近访问的机器的IP地址到物理地址的映射,避免了重复的ARP请求,提高了发送数据包的速度
- RARP协议(Reverse Assress Resolve Protocol,逆地址解析协议)
传输单元
主要功能
通过各种控制协议,将有差错的物理信道变为无差错的,能可靠传输数据帧的数据链路。 封装成帧;透明传输;差错检验 通常由被分成**介质访问控制(MAC)和逻辑链路控制(LLC)**子层
- MAC子层:解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制
- LLC子层:建立和维护网络连接,执行差错校验,流量控制和链路控制
基本问题
封装成帧 透明传输 差错检测
网络层
功能
实现数据包的选路和转发
传输单元
IP数据包:IP packet
核心协议
- IP协议: Internet Protocol 因特网协议
- 工作流程:根据数据包的目的IP地址来决定如何投递它,如果数据包不能直接发送给目标主机,那么IP协议就是为他寻找合适的下一跳路由器,并将数据包交付给该路由器来转发,多次重复过程,数据包最终到达目的主机,或者由于发送失败而被丢弃
- ICMP协议(Internet Control Message Protocol,因特网控制报文协议):用于监测网络连接
传输层
功能
为两台主机上的应用程序提供端对端的通信
常用协议
- TCP协议(Transmission Control Protocol,传输控制协议)
- 为应用层提供可靠的面向连接的
- 使用超时重传、数据确认等方式确保数据包正确发送,所以TCP服务是可靠的
- 通信双方必须先建立连接
- **基于流(Stream)**的服务,数据没有边界长度限制
- UDP协议(User Datagram Protocol,用户数据报协议)
- 为应用层提供不可靠:无法保证数据从发送端正确传输到接收端<\u>
- 无连接:通信双方不保持一个长久的联系,每次发送数据都要明确指定接收端的地址<\u>
- 基于数据报的服务:每个UDP数据报都有一个长度,接收端必须以该长度为最小单位将其内容一次性读出,否则数据将被截断<\u>
- SCTP协议(Stream Control Transmission Protocol,流控制传输协议)
应用层
- ping应用程序:利用ICMP报文检测网络连接,是调试网络环境的必备工具
- Telnet协议(远程登录协议):在本地完成远程任务
- OSPF(Open Shortest Path First,开放最短路径优先):动态路由更新协议,用于路由器之间的通信
- DNS(Domain Name Service,域名服务):机器域名到IP地址的转换,对应的端口号是53
封装
上层协议通过封装来使用下层协议提供的服务,每层协议都将上层数据的基础上加上自己的头部信息,来实现该层的功能
socket和TCP\IP协议族关系
数据链路层、网络层、传输层协议是在内核中实现的,因此操作系统需要一组系统调用,使得应用程序能够访问这些协议提供的服务,通过socket可以实现这组系统调用。
socket API提供的功能
- 将应用程序数据从用户缓冲区中复制到TCP/UDP内核发送缓冲区,以交付内核来发送数据;或从内核TCP/UDP接收缓冲区中复制数据到用户缓冲区,以读取数据
- 应用程序可以通过它们来修改内核中各层协议的某些头部信息或其他数据结构,从而精细控制底层通信的行为
|