网络概述(TCP/IP五层(或四层)模型,网络传输基本流程)

网络的发展背景:

单机时代–>联网–>移动互联网

猫:调制解调器
路由器:能将很多电脑连到网络里。
交换机:将若干台主机连到局域网内
实际上路由器和交换机没区别,面试时是有区别的

  • 局域网:LAN:计算机数量更多,通过交换机和路由器连接在一起。
  • 广域网:WAN:将远隔千里的计算机都连在一起。
  • 网络互连:多台计算机连接在一起,完成数据共享。

网络协议:

协议是一种约定。

协议分层的好处:
  1. 把大的问题拆分成小的问题。
  2. 很灵活的对某层协议进行变更和替换,同时又不会对其他层造成影响。
    多态:在封装的基础上更近一步,封装是给你一个类,不需要知道类里面的private属性值,只要知道类提供的一些public方法就可以了,多态的用户连这个类到底是哪种类型都不知道,只要知道他是某一个父类就可以了,不需要知道实际子类的类型,就是想让程序员了解的东西更少。
  3. 最大好处在于封装,面向对象。
  • OSI七层模型:太麻烦,实际不使用
  • TCP/IP五层(或四层)模型:应用层、传输层、网络层、链路层、物理层
    • TCP是一组协议。
    • 应用层:负责应用程序间沟通,比如qq----应用程序(HTTP/FTP/DNS/DHCP/URI/HTML/SMTP/POP/IMAP/SIP)
    • 传输层:点对点(端与端、进程与进程)的数据传输 (TCP/UDP/SCTP/DCCP)-----操作系统。
    • 互联网层:地址管理与路由选择(路由器)(ARP/IP/ICMP)-----操作系统。
    • 网卡层(链路层):(相邻设备之间的数据传输)设备驱动程序与网络接口。(Ethernet以太网)(交换机–相邻设备之间的数据的固定转发)
    • 硬件:光电信号的传输,(以太网协议)(集线器)算上硬件是5层,不算硬件是4层

对于⼀台主机, 它的操作系统内核实现了从传输层到物理层的内容;
对于⼀台路由器, 它实现了从网络层到物理层;
对于⼀台交换机, 它实现了从数据链路层到物理层;
对于集线器, 它只实现了物理层;
但是并不绝对. 很多交换机也实现了网络层的转发; 很多路由器也实现了部分传输层的内容(⽐如端⼝转发);

  • 网络传输基本流程: 封装,分用:

在这里插入图片描述

  • IP地址:在网络中唯一标示一台主机
    • 表示方式:无符号32位整数,点分十进制–用四个字节表示(一个字节范围0~ 255,两个字节0~ 65535,四个字节0~42亿9千万)
    • IP地址是在IP协议中用来标识网络中不同主机的地址。
    • 对IPv4来说,IP地址是一个4字节,32位的整数。
    • IPv6:unit8_t ip[16]—因为不向前兼容IPv4,因此没有很好的推广起来。
    • 在网络中每条数据中都会包含两条信息,源端ip地址,目的端ip地址
  • port端口
    • 功能:在一台主机上标识一个进程
    • unit 16_t------无符号16位整数
    • 范围:0~65535(在只有一个ip地址时,主机上客户端最多只能起65535个)
    • 特性:
      • 一个端口只能被一个进程占用
      • 一个进程可以使用多个端口
      • 在网络中每条数据都会包含两条信息:源端端口,目的端端口
  • MAC地址
    • 用来识别数据链路层中相连的节点。
    • 长度为48位,6字节,一般用16进制数字加上冒号表示(08:00:27:03:fb:19)
    • 在网卡出厂时就确定了,不能更改。

应用层

HTTP协议

HTTP协议:超文本传输协议,是浏览器与服务端之间通信所用的协议,传输数据的主要格式是html
URL(网址):统一资源定位符

传输层

UDP协议

是一种面向无连接的传输层协议,不会关注对端是否真的收到了传过去的数据,如果要检查对端是否收到数据包或者对端是否连接到网络,需要在应用程序中实现。

UDP常用于分组数据较少,或者多播,广播通行及视屏通信等多媒体领域。

TCP协议

TCP是一张面向有连接的传输层协议,可以保证两端通信主机之间的通信可达。TCP可以正确处理在传输过程中丢包,传输顺序乱掉等异常情况。还可以利用带宽,缓解网络拥堵。

然而,有时候为了建立与断开连接,他要至少7次发包接包,浪费网络流量。为了提高网络的利用率,TCP协议中定义了各种各样复杂的规范,因此不利于视屏会议(音频视频的数据量既定)等场合使用

互联网层(网络层)

互联网层使用IP协议,IP协议基于IP地址转发分包数据。

IP协议

IP协议的作用是:跨越网络传输数据包,让整个互联网都能收到数据;

连接IP网络的设备必须有自己唯一的识别号,以便识别具体的设备。分组数据在IP地址的基础上被发送给对端。IP协议属于非可靠性传输协议,不具有重发机制,即使分组数据包未能到达对端主机也不会重发。

ICMP协议

当IP数据包在发送是时没有被对端接收到,需要给发送端发送一个通知告知发生了异常。有时也用来检测网络的状况。

ARP协议

作用:从分组数据包中解析出物理地址(MAC地址)

链路层

利用以太网中的数据链路层进行通信。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值