- 浏览器分析链接指向页面的url
- 浏览器向DNS请求解析ip地址
- 域名系统DNS解析出IP地址
- 浏览器与服务器建立TCP连接
- 浏览器发出取文件命令
- 服务器给出响应,把文件发送给浏览器
- 释放tcp连接
一. 统一资源定位符URL
URL:用来表示从因特网上得到的资源位置和访问这些资源的方法。
组成部分:<协议>://<主机>:<端口>/<路径>
协议:指的用什么协议来获取万维网文档,常用的有http,ftp
主机: 域名
二. 域名系统DNS
域名系统DNS(Domain Name System): 因特网使用的命名系统,用来把便于人们使用的机器名字转为IP地址。
IP地址的长度是固定的,而域名的长度是不固定的,及其处理起来比较困难
1.因特网的域名结构
每一个域名都由标号序列组成,标号之间用 . 隔开。
DNS规定,域名的标号都由英文字母和数字组成,每一个标号不超过63个字符,不区分大小写。标号中除了连字符 - 不能使用其他的标点符号,级别最低的域名在剖的最左边,级别最高的顶级域名写在最右边。
域名到IP地址的解析是由分布在因特网上的许多域名服务器程序完成的
三. 五层网络协议
1.应用层
应用层需要定义以下内容:
- 应用进程交换的报文类型,如请求报文与响应报文
- 各种报文类型的语法,如报文中的各个字段及其详细描述
- 字段的语义,即包含在字段中的信息的含义
- 进程何时、如何发送报文,以及对报文进行响应的规则
应用层协议:超文本传送协议HTTP等
2.运输层
运输层的作用:
- 运输层为相互通信的应用进程提供逻辑通信
- 运输层对收到的报文进行差错检验
运输层的主要协议:用户数据协议UDP,传输控制协议TCP
运输层的端口
Tcp/IP的运输层用一个16位的端口号来标志一个端口,端口号只有本地意义,只是为了标志计算机应用层中的各个进程和在运输层交互时的层间端口。
两个计算机中的进程要互相通信,不仅必须知道对方的IP地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)
服务器使用的端口号:
a.熟知端口号:
0~1023
b.登记端口号:1024~49151,为没有熟知端口号的应用程序使用的
客户端使用的端口号:
49152~65535
TCP的运输连接建立

- 最初两端的TCP进程都处于CLOSED(状态),A主动打开连接,B被动打开连接
- B的服务器教程先创建传输控制块TCB,准备接受客户进程的请求,处于LISTEN(收听)状态
- A的TCP客户进程先创建传输控制块,向B发送请求报文段
- B收到请求报文段,如同意建立连接,则向A发送确认。
- TCP客户进程收到B的确认后还要向B给出确认,可以携带数据,A进入ESTABLISHED(已建立连接)状态
- B收到A的确认后,也进入ESTABLISHED(已建立连接)状态
A还要发送一次确认,是为了防止已失效的连接请求报文段突然又传送到B,产生错误
TCP的连接释放

- A的应用进程先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接,A进入FIN-WAIT-1(终止等待1)状态,等待B的确认
- B收到连接释放报文段后即发出确认,B进入CLOSE-WAIT(关闭等待)状态
- TCP服务器进程通知应用进程,连接释放,TCP此时处于办关闭状态,A没有数据发送,但是B若发送数据,A仍要接收
- A收到来自B的确认后,就进入FIN-WAIT-2(终止等待2)状态,等待B发出的连接释放报文段
- 若B没有需要发送的数据,应用进程就通知TCP释放连接,B发出连接释放报文,B进入LAST-ACK(最后确认阶段)
- A收到B的连接释放报文后,必须对此发出确认,进入TIME-WAIT(时间等待)状态,经过时间等待计时器设置的时间2MSL后,A才能进入CLASED状态
- B收到了A发出的确认,立即进入CLOSED
3.网络层
网络层的作用:通过路由器建立网络之间的连接,为主机之间提供逻辑通信
网际协议IP:用来使互联起来的许多计算机网络能够进行通信
IP地址及其表示方法
IP地址由两部分组成:
网络号:标志主机(或路由器)所连接到的网络,一个网络号在整个因特网范围内是唯一的
主机号:一个主机号在前面的网络号所指明的网络范围内必须是唯一的。
近年来,广泛的使用无分类的IP地址进行路由选择。
4.数据链路层
数据链路层的作用:确保数据在通信链路中传输的可靠性
数据链路层拿到网络层的数据时,会加上首部和尾部,封装成MAC帧
5.物理层
物理层的作用:尽可能屏蔽各种传输媒体和通信手段的差异,在连接各种计算机的传输媒体上传输数据

全文参考自:《计算机网络》第六版,谢希仁编著