大体也忘记是谁推荐给我的这本书了。
7层网络通信协议
在读大学的时候曾今无数次好奇过这玩意有没有用?
从下至上:
1. 物理层 (Phsical)
2. 数据链路层 (Data Link)
3. 网络层 (Network)
4. 传输层 (Transport)
5. 会话层 (Session)
6. 表示层 (Presentation)
7. 应用层(Application)
TCP/IP
DARPA模型
从下至上
1. 网络访问层 (Network Access)
2. 网络层 (Network)
3. 传输层 (Transport)
4. 应用层 (Application)
TCP/IP协议族
所谓TCP/TP并不单纯指TCP和IP两个协议,而是包括很多其他协议的一个网络协议的集合,称为协议族。
- IP
Internet Protocol网间协议,负责主机间数据的路由和网络上数据的存储,同事为ICMP、TCP、UDP提供分组发送服务。用户金层通常不涉及这一层 - ARP
Address Resolution Protocol地址解析协议,将网络地址映射到硬件地址 - RARP
Reverse Address Resolution Protocol反向地址解析协议,将硬件地址映射到网络地址 - ICMP
Internet Control Message Protocol网络控制报文协议,此协议处理信息和主机的差错和传送控制 - TCP
Transmission Control Protocol提供给用户进程的可靠的面向连接的全双工字节流协议。它要为用户进程提供虚拟电路服务,并为数据可靠传输建立检查。大多数网络用户程序使用Tcp。 - UDP
User datagram Protocol用户数据报协议,提供给用户进程的无连接协议。用于传输数据而不执行正确性检查。 - FTP
File Tranfer Protocol文件传输协议,允许用户以稳健操作的方式与另一主机相互通信 - SMTP
Simple Mail Transfer Protocol简易邮件传送协议 - TTP
Telnet Terminal Protocol终端协议,孕育用户以虚拟终端方式访问远程主机。 - HTTP
Hypertext Transfer Protocol超文本传输协议,用于传输超文本标记语言,也就是常说的网页。 - TFTP
Tricial File Transfer Protocol简易文件传输协议,与FTP不同的是它使用UDP的69端口,一次可以穿越很多防火墙。
Socket套接字
核心结构
网络地址(IP) + 端口号(port)
种类
- SOCKET_STREAM(流socket)
支持双向的、有序的、无重复的并且无记录边界的数据流,例如telnet、http等面向连接的可靠通信服务,使用TCP协议。
Socket必须在发送数据之前与目的Socket取得一个连接,一旦建立了连接,socket就可以使用一个流借口,所有发送的信息都会在另一个端口以同样的顺序被接收。 - SOCKET_DRAG(数据报socket)
支持双向的双向的数据流,但不保证是可靠的、有序、无重复的,用于无连接不可靠的通信,比如UDP。
保留了记录边界。
一个数据报是一个独立的单元,它包含了所有的本次投递的信息、目的地址和要发送的内容,这个模式下的Socket不需要连接一个目的Socket,它只是简单地投出shujubao.wulianjiede操作时快速和高效的,但数据安全性不高。
IP地址转换
每个网络接点有一个IP地址,IPV4是一个32整数(0~255,0~255,0~255,0~255),每一段为8位,4*8 = 32位,IPV6时一个128位整数
IP地址通常具体确定了一台计算机,称为一台主机,但一台主机可以有多个IP地址
DNS
Domain Name Service域名服务,将ASCII地址翻译成域名地址,或将域名地址翻译成ASCII地址。
字节转换
1. (Big Endian)高子节在前
MIPS和SPARC采用。网络上传输的数据统一采用Big Endian
2. (Little Endian)低字节在前
Intel的PC采用。