网络基础参考: 图解HTTP
1. 网络基础 TCP/IP
1.协议:
不同的硬件、操作系统之间的通信, 所有的这一切都需要一种规则。而我们就把这种规则称为协议(protocol)。
2.TCP/IP
像这样把与互联网相关联的协议集合起来总称为 TCP/IP(一种定义)。
3.分层
TCP/IP 协议族里重要的一点就是分层。TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层 和数据链路层。
应用层:
应用层决定了向用户提供应用服务时 通信的活动。 比如 FTP(File Transfer Protocol,文件传输协议)和 DNS(Domain Name System,域名系统)服务就是其中两类。 还有HTTP协议也处于该层。
传输层:
提供处于网络连接中的两台计算机之间的 数据传输。
在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Data Protocol,用户数据报协议)。
网络层:
网络层用来处理在网络上流动的 数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径 (所谓的传输路线)到达对方计算机,并把数据包传送给对方。
数据链路层:
用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络 适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的 作用范围之内。
利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往 应用层往上走。
发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息,这种把数据信息包装起来的做法称为封装(encapsulate)。
2. IP,TCP,DNS 等协议。
1.负责域名解析的DNS协议:
DNS(Domain Name System)位于应用层的协议。提供域名到 IP 地址之间的解析服务。
计算机既可以被赋予 IP 地址,也可以被赋予主机名和域名。比如 www.hackr.jp。用户通常使用主机名或域名来访问对方的计算机,而不是直接通过 IP 地址访问。
- 确保可靠性的TCP协议。
TCP协议属于传输层,提供可靠地字节流服务。
字节流服务(Byte Stream Service):
为了方便传输,将大块数据分割成以报文段(segment) 为单位的数据包进行管理
可靠性:
为提供可靠地服务,TCP 协议采用了三次握手(three-way handshaking)策略。用 TCP 协 议把数据包送出去后,TCP 不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中 使用了 TCP 的标志(flag) —— SYN(synchronize) 和 ACK(acknowledgement)
- 负责传输的IP协议:
IP(Internet Protocol)网际协议位于网络层。IP 协议的作用是把各种数据包传送给对方。
要保证确实传送到对方那里,则需要满足各类条件。其中两个 重要的条件是 IP 地址和 MAC 地址(Media Access Control Address)。
IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。
3.URI和URL
URI 是 Uniform Resource Identifier 的缩写,URI 就是由某个协议方案表示的资源的定位标识符。URL 表示资源的地点(互联网上所处的位置)。
采用 HTTP 协议时,协议方案就是 http。除此之外,还有 ftp、mailto、telnet、file 等30种左右。
几种 URI 例子:
ftp://ftp.is.co.za/rfc/rfc1808.txt
http://www.ietf.org/rfc/rfc2396.txt ldap://[2001:db8::7]/c=GB?objectClass?one
mailto:John.Doe@example.com
news:comp.infosystems.www.servers.unix
tel:+1-816-555-1212
telnet://192.0.2.16:80/
urn:oasis:names:specification:docbook:dtd:xml:4.1.2
URI的格式:
协议方案名:登录信息(可选项) 服务器地址 端口号 文件路径 查询字符串(可选) 片段标识符(可选项)
网友评论