华人澳洲中文论坛

热图推荐

    一文详解计算机网络TCP/UDP协定,三次握手原理

    [复制链接]

    2023-1-18 07:07:21 18 0

    甚么是TCP和UDP协定?
    IP是网络层协定,面向无衔接,即无需与目的主机建设衔接,能够间接发送数据。次要目的就是为了进步数据传输效力,至于指标主机是不是收到或数据是不是丧失,IP协定其实不担任,由上一层传输层进行牢靠性管制。

    uznrblb3d5i.jpg

    uznrblb3d5i.jpg


    传输层两个首要协定分别是TCP和UDP,传输层其实不都是担任牢靠性的,详细要看使用哪种协定。TCP是面向衔接的牢靠性传输,UDP是非面向衔接的不成靠传输。
    例如,TCP是一个担任任的快递,将货物投递要等候收件人关上货物并确认签字,而UDP只担任将货物放到家门口,也不会通知你,至于包裹发错、丧失和UDP都没无关系。

    ykndh5iuxhl.jpg

    ykndh5iuxhl.jpg


    端口
    在传输层协定中,一定要了解甚么是端口,这里的端口是指逻辑上的端口,而非替换机、路由器等物理端口。端标语一共是65536个,编号为0~65535,个别平时编程测试使用1024当前端口,由于0~1023被出名的顺序软件占用了,好比常见的SSH是22端口,http网站默许80端口,ftp文件传输为443端口。
    为何要用端口,好比有一个城堡,城堡外面有得多门,不同的门有不同的功用,正门是统治阶层贵族使用,还有普通任务人员的入口,还有渣滓处置的通道,还有机密逃生通道,不同的通道有不同功用。
    关于计算机来讲,接纳到一个字符串“Hello World!”,那末这个应该是QQ接纳仍是微信接纳,所以发送信息时,还要指定指标主机的端口,咱们的数据是发送给哪一个办事的。

    inwtm5musb0.jpg

    inwtm5musb0.jpg


    三次握手建设衔接
    三次握手是TCP协定,需求和指标办事器通讯前建设衔接,不然,办事器地址过错或者办事器未开机,间接发送数据就会形成丧失。
    好比,我要和小明借钱,然而要先铺垫一下。“小明,你好啊,吃了吗,我有点大事不知当讲不妥讲。”,小明很热心,“我们都是兄弟,有啥不克不及讲,有难题只管提!”,“好吧,我这个月任务绩效欠好,借我点钱还房贷。”……
    这就是三次握手建设衔接的进程。

    w5qgtimlb4q.jpg

    w5qgtimlb4q.jpg


    好比,咱们是客户机,要给办事器发送数据,好比办事器IP为192.168.1.10,端口是8080。
    第一步:SYN为同步位,确认ACK初始为0,seq为传送数据时第一个数据字节序号x。
    第二步:办事器应对同步SYN=1,确认ACK=1,确认号ack=x+1,本人的序列seq=y。
    第三步:客户机表现我收到了办事器的应对,然后,单方就能欢快的通讯了。
    因此,也能够看出TCP协定建设衔接的进程致使了效力升高,在得多实时性要求较高的畛域,好比实时音视频聊天大多采取UDP协定,即时某个时辰网络较差,致使音频有搅扰,视频不明晰,对单方影响都不是很大。要按照实际状况进行协定选择。

    ocwiuhjxqop.jpg

    ocwiuhjxqop.jpg


    四次握手释放衔接
    一旦数据传输完结,通讯单方均可以被动释放衔接。

    mns1nblofle.jpg

    mns1nblofle.jpg


    好比,客户端A先要封闭衔接:
    第一步:发送FIN=1,seq=u,等候办事器B确实认,本人要封闭衔接。
    第二步:办事器进行确认ACK=1,确认号ack=u+1。本人的报文序号seq=v。
    第三步:B也要向A发送FIN标明本人也要封闭,ack=u+1,由于A并无持续发送数据。
    第四步:A要向B收回确认ACK=1。
    单方通过2MSL(Maximum Segment Lifetime 报文最大生存时间)后才真正释放衔接。
    简略来讲,男女单方煲电话粥,A说,没甚么事我要挂了,B先说,“好的”,对A的信息进行确认,而后再向A发一条动静,“我也要挂了”。而后A要进行确认,“OK,没问题。”,然后,单方静静等候30s,没有人再谈话,同时按下封闭键,完结通话。

    jaxvcuphbal.jpg

    jaxvcuphbal.jpg


    TCP流量管制和拥塞管制
    得多时分,咱们都以为数据传输越快越好,但是,假如速渡过快,接纳方处置不迭时就可能会形成信息丧失。因此,TCP经过滑动窗口机制管制流量。TCP采取一个计时器,假如对方发送零窗口通知,TCP就等候一个时间,直至对方有闲暇窗口再发送数据。
    就像咱们养了一条很能吃的松树,咱们喂给松树一碗松果,10分钟后查看一下,假如松果没了持续添加满一碗,假如松果没有吃完,证实松树当初不饿,临时不需求添加新的松果。
    拥塞管制就是要斟酌理想的网络机能,假如需求传输的信息量特别大,要损耗微小的网络资源,超越现有网络负载才能。TCP拥塞管制会采取慢启动形式,不要一开始就传递巨量的数据。
    甚么是计算机网络?一文带你理解计算机网络开展一文详解计算机网络IP地址和子网掩码一文详解计算机网络奈奎斯特定理和香农定理一文带你理解计算机网络体架构,OSI模型和TCP/IP模型甚么是Linux零碎?咱们是不是要用Linux学习Linux命令行,用手就行!Linux反动性工具,shell脚本自动化Linux Shell正则表白式,高效操作字符串

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    注册会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题26

    帖子37

    积分178

    图文推荐