网络协议基础入门

说明

本章节会对网络协议以及数据传输进行一个简单的讲解和说明.

网络分层

以下就是一个简单的场景.Linux服务器A和Linux服务器B处于不同的网段,通过中间的Linux服务器作为路由器进行转发.一个简单的网络传输如下所示:

所有的网络传输过程都对应网络协议模型.目前存在两种网络协议模型,一种是OSI的标准七层模型,一种是业界标准的TCP/IP模型.对应关系如下:

为什么网络需要分层?因为网络环境过于复杂,不是一个能够集中控制的体系.全球数以亿记的服务器和设备各有各的体系,但是都可以通过同一套网络协议栈通过切分成多个层次和组合,来满足不同服务器和设备的通信要求.

  • 第一层,物理层,就是物理设备.
  • 第二层,数据链路层,有时候也称为MAC层.所谓MAC就是每个网卡都有唯一的硬件地址,可以唯一定位到没一台机器.
  • 第三层,网络层.网络层决定数据的路径选择和转寄,将网络表头(NH)加至数据包以形成报文.网络表头包含了网络数据.
  • 第四层,传输层.两个著名的协议TCP和UDP.尤其是TCP, 应用更加广泛.IP层仅仅负责数据从一个IP地址发送到另一个IP地址,而TCP需要对数据的丢包,乱序,重传,拥塞处理.
  • 最后是应用层.比如HTTP服务,DNS服务.

二层到四层都是LInux内核里面处理的,应用层都是在用户态的.Linux内核对于网络包的处理是不区分应用.

应用层和内核是通过Socket系统调用完成的.Socket数据操作系统的概念,不属于网络协议分层的概念.只不过操作系统选择对于网络协议实现模式是,二到四层的处理代码在内核里面,七层的处理代码让应用自己去做,两者需要跨内核态和用户态通信,就需要一个系统调用完成这个反而衔接,这就是Socket.

在TCP/IP协议中, IP地址+TCP或UDP端口号 唯一标识网络通讯中的一个进程。IP地址+端口号 就对应一个socket。

数据包

下图展示的的是一个更加详细的数据发送的例子.

服务器A

浏览器将请求封装为HTTP协议,通过socket协议发送到内核.内核中的网络协议栈里面,在TCP层创建用于维护连接,序列号,重传,拥塞控制的数据结构,将HTTP包加上TCP头,发送给IP层,IP层加上IP头,发送给MAC层,MAC层加上MAC头,从硬件网卡发出.

交换机1

交换机常称为二层设备.因为交换机只会处理到第二层,然后它会将网络包的MAC头拿下来,发现目标MAC是在自己右边的网口,于是就从这个网口发出去.

路由器

路由器称为三层设备,因为它只能处理到第三层.网络包到达路由器之后,路由器发现MAC地址匹配,就交给IP层,在IP层根据IP头中的信息,在路由表中查找.下一跳在哪里,应该从哪个网口发出去.

交换机2

与交换机1的处理方式相同

服务器B

当数据包到达服务器B之后,发现MAC地址匹配,就将MAC头取下来,交给上一层.IP层发现IP地址匹配,将IP头取下来,交给上一层.TCP层会根据TCP头中的序列号等信息,发现他是一个正确的网络包,就会将网络包缓存起来.等待应用层的读取.应用层通过Socket监听某个端口,因而读取的时候,内核会根据TCP头中的端口号,将网络包发给相应的应用.

TCP&UDP

TCP和UDP是两个主流的传输层协议.

  • TCP是面像连接的,UDP是面像无连接的.
  • TCP提供可靠交付,无差错,不丢失,不重复,并且按序到达;UDP不提供可靠交付,不保证不丢失,不保证按顺序到达.
  • TCP是面向字节流的,发送是发的是一个流,没头没尾;UDP是面向数据报的,一个一个发送
  • TCP是可以提供流量控制和拥塞控制的,即防止对断被压垮,也防止网络被压垮.
  • 本文标题: 网络协议基础入门
  • 本文作者: Spoock
  • 创建时间: 2020年06月08日
  • 修改时间: 2020年06月09日
  • 引用链接: https://blog.spoock.com/2020/06/08/linux-network-socket/
  • 版权声明: 署名-非商业性使用-禁止演绎 4.0 国际 。未经授权,不得转载。转载请保留原文链接及作者

conntrack中的数据结构详解
MySQL偏门注入

PHP网站源码横岗网站推广方案坑梓网站推广系统观澜品牌网站设计观澜高端网站设计平湖seo南澳seo沙井英文网站建设观澜网站推广系统布吉网站优化木棉湾关键词排名龙岗营销型网站建设坑梓百度seo龙岗网站定制坂田网站推广永湖网站设计坪地设计公司网站木棉湾seo西乡网站推广广州网站搭建西乡百度爱采购爱联百度网站优化排名光明外贸网站设计南联百度竞价包年推广沙井营销型网站建设光明模板网站建设坂田seo网站推广大鹏SEO按天收费福永百姓网标王坪山网站设计模板爱联网站优化推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化