计算机网络笔记

1.计算机网络体系结构

计算机网络笔记

计算机网络笔记

物理层:数据单元为比特(bit)。

数据链路层:数据单元为帧(frame)。

网络层:数据单元为数据包(packet)。

传输层:数据传输单位为报文段(segment)。

应用层:交互的数据单元为报文(message)。

2.各层协议

1)应用层: (典型设备:应用程序) 

DHCP:动态主机分配协议,使用UDP协议工作

SNMP:简单网络管理协议,使用UDP协议工作

FTP:文件传输协议<端口号21>,使用TCP协议工作。

HTTP:超文本传输协议 <端口号 80>,使用TCP协议工作。

POP3:邮局协议的第3 个版本,使用TCP协议工作。

SMTP:简单邮件传输协议 <端口号25>,使用TCP协议工作。

TELNET:远程登录协议 <端口号23>,使用TCP协议工作。

2)传输层:(典型设备:进程和端口)

TCP:传输控制协议         UDP:用户数据报协议        RTP:实时传送协议 

3)网络层:(典型设备:路由器、防火墙)

IP (IPv4 · IPv6):网络之间互连的协议

ARP:地址解析协议,实现通过IP 地址得 知其物理地址。

RARP:反向地址转换协议,允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP地址。

ICMP:Internet 控制报文协议。 

IGMP:Internet 组管理协议  

RIP:路由信息协议,一种在网关与主机之间交换路由选择信息的标准。

4)数据链路层:(典型设备: 网卡,网桥,交换机

CSMA/CD:载波监听多点接入/碰撞检测协议。

PPP:点对点协议面向字节。

5)物理层:(典型设备:中继器,集线器、网线、HUB) 

计算机网络笔记

3.http请求的基本过程:连接、请求、应答、关闭连接。

1)连接: 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把www.mycompany.com变成ip,如果url里不包含端口号,则会使用该协议的默认端口号。

2)请求:连接成功建立后,开始向web服务器发送请求,这个请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:GET 路径/文件名 HTTP/1.0(HTTP/1.0指出web浏览器使用的HTTP版本)。

3)应答:web服务器收到这个请求,进行处理,从它的文档空间中搜索子目录mydir的文件index.html。如果找到该文件,Web服务器把该文件内容传送给相应的web浏览器

4)关闭连接:当应答结束后,web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。

4.DNS域名解析过程

根域:就是所谓的“.”,根域服务器只是具有13个IP地址,但机器数量却不是13台。

根域下来就是*域或者叫一级域,有两种划分方式,一种互联网刚兴起时的按照行业性质划分的com.,net.等,一种是按国家划分的如cn.,jp.,等。每个域都会有域名服务器,也叫权威域名服务器。一级域之后还有二级域,三级域。

计算机网络笔记

5.TCP和UDP的区别

TCP:传输控制协议,提供一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP提供超时重发、丢弃重复数据、流量控制等功能。

UDP:用户数据报协议,是一个简单的面向数据报的协议,提供不可靠传输,使用最大努力交付。发送前不用建立连接,没有超时重发机制,因此传输速度很快。ping命令原理就是向对方主机发送UDP数据包

6.三次握手和四次挥手

TCP是因特网中的传输层协议,使用三次握手协议建立连接。TCP使用的流量控制协议是可变大小的滑动窗口协议。

TCP三次握手的过程如下:
    1)客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
    2)服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
    3)客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。

计算机网络笔记          计算机网络笔记

                        三次握手                                                                                    四次握手

建立一个连接需要三次握手,而终止一个连接要经过四次握手,由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。

    1)TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。
    2)服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号           (这时客户端不能发送数据,但是服务器还可以向客户端发送数据,这也是采用四次握手的原因)。
    3)服务器关闭客户端的连接,发送一个FIN给客户端。
    4)客户端发回ACK报文确认,并将确认序号设置为收到序号加1。

7.为什么采用三次握手而不是二次

    假设A为客户端,B为服务器。采用三次握手是为了防止失效的连接请求报文段突然又传送到B端,因而产生错误。A发出连接请求没有收到B的确认,于是在一段时间后,A又重新向B发送连接请求并且这次建立连接成功,完成数据传输。然而A第一次发送的请求并没有丢失,而是因为因为某种原因延迟到达B,而B以为A又重新发起新的连接请求,于是B同意连接并向A发回确认,但此时A并没有发起新连接,若采用二次握手,B会一直等待A发送数据而A又不理会,会导致B资源浪费。采用三次握手时,由于A没有发起新连接,在B发回确认后不会回应确认报文,因此不会建立连接,不会导致B的资源浪费

8.交换机和路由器

交换机是数据链路层设备,它根据MAC地址寻址。路由器是网络层设备,根据IP地址寻址,路由表是决定如何将包从一个子网传送到另一个子网的,路由表每一行至少包含目标网络号、下一跳接口、netmask这三条信息。

9.IP地址

1)IP地址的分类

        A类IP:从1.0.0.0 – 127.255.255.255,最大主机数16777214

        B类IP:从128.0.0.0 – 191.255.255.255,最大主机数共有65534

        C类IP:从192.0.0.0 – 223.255.255.255,最大主机数254

        D类IP:从224.0.0.0 – 239.255.255.255,D类地址称为广播地址,供特殊协议向选定的节点发送信息时用。

        E类IP:从2240.0.0.0 – 255.255.255.255,E类地址保留给将来使用。

2)网络号计算:IP地址与子网掩码按位与(&)运算

假如有一个C类地址为192.9.200.13,其默认的子网掩码为: 255.255.255.0(使用默认子网掩码时没有进行子网 分),则它的    网络号和主机号可按如下方法得到:
  A.   IP地址 192.9.200.13
        转换为二进制11000000000010011100100000001101
        子网掩码255.255.255.0  
        转换为二进制11111111111111111111111100000000
        将两个二进制数做按位与(&)运算后得出的结果即为网络部分
                            11000000000010011100100000001101
                       &  11111111111111111111111100000000
                   -------------------------------------------------------------
                            11000000000010011100100000000000
                            =    192  .    9     .   200    .   0
        即网络号为192.9.200.0
 
  B.   将子网掩码取反再与IP地址按位与(&)后得到的结果即为主机部分
                            11000000000010011100100000001101
                      &   00000000000000000000000011111111 --- >已将掩码取反
                   ------------------------------------------------------------
                            00000000000000000000000000001101
                            =       0    .   0     .    0     .   13
        即主机号为0.0.0.13

  C.   子网划分,如:192.168.1.53/27
        可知原本C类网络号为24位,此划分由于网络号数量不足,所以得向右的主机数借3位,主机数的可用数量减少。
        所以192.168.1.53/27 的相应掩码是
11111111 . 11111111 . 11111111 . 11100000 (255.255.255.224)
        因此,剩下5位为主机号,则最大主机数为:25=32(个),可用主机数:32-2=30(个);
        网络号向主机数借3位,则划分的子网个数:23=8(个);
        192.168.1.53化为二进制为 1100 0000 . 1010 1000 . 0000 0001 . 001 | 10100 (蓝色为网络号)                                        所以,192.168.1.53/27的网络地址为:1100 0000 . 1010 1000 . 0000 0001 . 001 00000(192.168.1.32)                 192.168.1.53/27的广播地址为:1100 0000 . 1010 1000 . 0000 0001 . 001 11111(192.168.1.63)

        划分的可用的IP地址范围为:192.168.1.33~192.168.1.62,即

        1100 0000 . 1010 1000 . 0000 0001 . 001 | 00001  ~  1100 0000 . 1010 1000 . 0000 0001 . 001 | 11110 

        划分的各子网范围为(每个子网个数-2=可用主机数):

        第一个子网:1100 0000 . 1010 1000 . 0000 0001 . 000 | 00000  ~  1100 0000 . 1010 1000 . 0000 0001 . 000 | 11111 
        第二个子网:1100 0000 . 1010 1000 . 0000 0001 . 001 | 00000  ~  1100 0000 . 1010 1000 . 0000 0001 . 001 | 11111
        ... ...

        第七个子网:1100 0000 . 1010 1000 . 0000 0001 . 110 | 00000  ~  1100 0000 . 1010 1000 . 0000 0001 . 110 | 11111 
        第八个子网:1100 0000 . 1010 1000 . 0000 0001 . 111 | 00000  ~  1100 0000 . 1010 1000 . 0000 0001 . 111 | 11111

10.TCP采用哪些机制进行可靠传输、流量控制、拥塞控制

可靠传输:三次握手

流量控制:滑动窗口机制

拥塞控制:慢启动(拥塞窗口指数增大)、拥塞避免(达到阈值后加法增大)、拥塞检测(乘法减少)