TCP/IP协议是什么?

  • TCP:Transmission Control Protocol  传输控制协议
  • IP:Internet Protocol  因特网协议
  • 简单来说,TCP/IP协议就是一个有多种协议组成的协议族(Protocol Family)

TCP/IP协议的作用是什么?

  • 它定义了计算机通过网络互相通信及协议族各层次之间通信的规范。

TCP/IP参考模型:是一个抽象的分层模型;在这个模型中,有四个分层,包含了TCP/IP协议族中所有的网络协议。

  1. 主机-网络层:也称作网络接口层,是TCP/IP参考模型中的最低层。
    1. 功能:相当于一个中转站;
      1. 主要负责接收从【互联网络层】交来的【IP数据报】并将其通过【低层物理网络】发送出去。
      2. 从低层物理网络接受物理帧,并从中抽取出IP数据报交给互联网络层。
    2. 类型:
      1. 设备驱动程序
      2. 含自身数据链路协议的复杂子系统(TCP/IP参考模型中之所以没有定义数据链路层协议主要是因为TCP/IP最初的设计中已经使其可以使用各种典型的数据链路层协议
  2. 互联网层:也称为网际互连层或IP层。
    1. 功能:主要解决主机到主机的通信问题。
      1. 主要负责将源主机的报文分组发送到目的主机。(源主机和目的主机可以在同一个网络上,也可以在不同的网络上)
    2. 包含的协议:主要的协议有 网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
      1. IP协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传递服务。(尽力而为的服务)
      2. IP协议的协议数据单元是IP分组,由于在IP层提供数据报服务,IP分组也称为IP数据报
  3. 传输层:
    1. 功能:主要负责在互联网中源主机与目的主机的对等进程实体之间提供可靠的端到端的数据传输。
    2. 协议:定义了TCPUDP协议。
      1. TCP协议。是一种可靠的面向连接的协议。(Transimission Control Protocol)
        1. 它允许将一台主机的字节流无差错的传送到目的主机。
        2. TCP协议将应用层的字节流分成多个字节段,然后将一个一个字节段传送到IP层,并最终发送到目的主机。
        3. 可以将从IP层收到的字节段还原成原始的字节流,并传输到应用层。
      2. UDP协议。是一种不可靠的无连接的协议。(User Datagram Protocol)
        1. 主要用于不要求分组顺序到达的传输服务中。在基于UDP协议的传输服务中,分组的传输顺序检查与排序应由应用层完成。
        2. UDP协议主要面向 请求---应答式 的交易型应用。一次交易往往只有一来一回两次报文交换。
        3. UDP协议也常用于那些对可靠性要求不高,但要求网络的延迟较小的场合。(比如语音和视频数据的传送等)
  4. 应用层:包含了所有的高层协议。(目前TCP/IP参考模型中的应用层协议主要包括以下几种)
    1. 网络终端协议 Telnet;
    2. 域名系统 (Domain Name System, DNS);
    3. 简单邮件传输协议(Simple Mail Transfer Protocol, SMTP);
    4. 简单网络管理协议(Simple Network Management Protocol, SNMP);
    5. 文件传输协议(File Transfer Protocol, FTP);
    6. 超文本传输协议(Hyper Text Transfer Protocol, HTTP)。

注意:

  • 网际互联层和网络接口层实现了计算机网络中处于不同位置的主机之间的数据通信
  • 计算机网络最本质的活动是实现分布在不同地理位置的主机之间的进程通信。
  • 设置传输层的主要目的就是要实现上条所说的这种分布式进程之间的通信功能

未完待续。。。。。。

最新文章

  1. laravel强大功能路由初探(二)
  2. windows服务的创建、安装、调试全过程及引发的后续学习
  3. 6/12 Sprint2 看板和燃尽图
  4. 常见的Mule Esb下载地址
  5. 13test07;字符排序,去重,三三输出
  6. OK335xS davinci mdio driver hacking
  7. 工欲善其事必先利其器---SQL在线可视化模型设计,(还可学习拖拽知识)
  8. python成长之路第二篇(4)_collections系列
  9. date、datetime、string的相互转换
  10. IIS6,IIS7中查看w3wp进程
  11. 解决VS2010中winsock.h与winsock2.h冲突(重复定义)——转载
  12. C#生成随机汉字
  13. 201521123074 《Java程序设计》第5周学习总结
  14. Django - - - -视图层之视图函数(views)
  15. 学习Git的最佳资料
  16. 【目录】Docker 基本操作
  17. Using Spring.net in console application
  18. 转载:Java、C#双语版配套AES加解密示例
  19. Oracle 9i 10g 11g 区别的转载
  20. CSS表单设计

热门文章

  1. 二叉树中两节点的最近公共父节点(360的c++一面问题)
  2. ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.33.10' (111) 解决方法
  3. (第九篇)Iptables详解
  4. 构建密钥验证ssh
  5. c语言实现乘法口诀表
  6. Gym 101194F Mr. Panda and Fantastic Beasts
  7. 你的GitHub,怎么和我用的不太一样?
  8. OpenCV的安装和使用
  9. 使用kubeadm部署k8s集群[v1.18.0]
  10. 支付宝小程序云开发(Serverless)