网络

2017-12-03  本文已影响0人  Michael_1615

可靠安全 -> 7层架构

   数据链路层 

               解决两个节点传输,最小传输单位,数据包,可以通过基础验证检查这个包是否安全和正确

    网络层 

              为了解决数据在网络上的传递,加上了路由的概念,通过路由传到指定的地址。为了标记在网络层上的地址,加上了IP协议

    传输层 

             为了保证传输的数据包可靠,增加了出错重传机制 TCP基于链接/UDP

    应用层 

            为了解决这个数据是为哪个应用服务的,SMTP/HTTP。。。

网络传输的问题

不可靠: 丢包,重复包,出错,乱序

不安全: 中间人攻击,窃取,篡改

TCP怎么解决网络不可靠问题

滑动窗口协议,TCP协议中使用,通过维持发送方/接收方缓冲区解决。如果没有滑动窗口协议会一个一个传递导致吞吐量问题。滑动窗口协议,有超时重传机制和按顺序发ACK。图片

Wireshark教程

有关TCP协议及滑动窗口常见的问题

TCP协议要达到的目的?基于链接的一个协议,基于TCP协议达到一个可靠的传输。可靠传输是只,包是按序收到,不出错,流量控制(滑动窗口),拥塞控制

滑动窗口是怎么运行的?解决了什么问题?

解决吞吐量问题,流量控制,保证收发顺序一致

TCP协议如何做到流量控制?如何做到拥塞控制?

TCP协议建立连接三次握手,断开连接四次挥手

建立三次握手

1. CLIENT(SYS_SENT) -> SYN -> SERVER (LISTEN)

2. CLIENT(ESTABLSIHED) <- SYN,ACK <- SERVER(SYS_RECEIVED)

3.  CLIENT(ESTABLSIHED) -> ACK -> SERVER(ESTABLSIHED)

C -> 数据 -> S

四次挥手

1. SENDER (FIN_WAIT_1) -> FIN -> RECEIVER(ESTABISHED)

2. SENDER(FIN_WAIT_2) <- ACK <- RECEIVER(CLOSE_WAIT)

3. SENDER(TIME_WAIT) <- FIN<- RECEIVER(LAST_ACK)

4. SENDER(TIME_WAIT) -> ACK -> RECEIVER(CLOSED)

断开连接为什么要四次挥手?

因为接收方可能不能立马进行断开,所以先发一个ACK确认收到FIN请求。只有在准备好以后接收方才会发送一个FIN请求给接收方

上一篇下一篇

猜你喜欢

热点阅读