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)。

注意:

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

未完待续。。。。。。

tcp/ip 学习(一)的更多相关文章

  1. tcp/ip学习笔记-TCP

    tcp/ip学习笔记-TCP 彭会锋 报文发送采用的是tcp_output函数,

  2. TCP/IP学习笔记(3)-IP、ARP、RARP协议

    这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据 ...

  3. TCP/IP学习笔记(3)----IP,ARP,RARP协议

    把这三个协议放到一起学习是因为这三个协议处于同一层(网络层协议),ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP ...

  4. TCP/IP学习

    1.TCP/IP网络包括两部分 ①传输协议 ②网络协议

  5. TCP/IP学习20180629-数据链路层-ARP、IP

    1.数据链路层:IP.ARP.RARPARP协议用来找到目标主机的Ethernet网卡Mac地址,IP协议用来承载数据ARP协议找到目标,IP协议传输数据2.IP协议ip协议是TCP/IP协议的核心, ...

  6. TCP/IP学习20180627-数据链路层-ethernet

    ifconfig :查看主機支持的網絡協議eth0:以太網接口lo:loopback接口 以太网(Ether-net)的定是指数字设备公司( Digital Equipment Corp.).英特尔公 ...

  7. TCP/IP学习20180624

    计算机要互相通信.要有标准. TCP/IP协议,很多协议在一起.所以也叫TCP/IP协议族.经常接触的也就十几种. TCP/IP协议族按层次分为四层: 应用层(最上一层,http,ftp,pop3,i ...

  8. TCP/IP学习笔记(2)-数据链路层

    数据链路层有三个目的: 为IP模块发送和接收IP数据报. 为ARP模块发送ARP请求和接收ARP应答. 为RARP发送RARP请求和接收RARP应答 ip大家都听说过.至于ARP和RARP,ARP叫做 ...

  9. tcp/ip学习笔记(1)-基本概念

    为什么会有tcp/ip 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样.计 ...

  10. TCP/IP学习笔记(5)------IP选路

    静态IP选路 一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统路由表. D ...

随机推荐

  1. 不使用tomcat,仅适用javaSE手写服务器--模拟登陆

    1.搭建框架 我们只是简单模拟,框架简单分三个模块 a,服务器端server包 b,servlet,根据不同的请求url,利用反射生产对应的servlet c,IO工具包,用来关闭IO流 d,编写we ...

  2. java 递归及其经典应用--求阶乘、打印文件信息、计算斐波那契数列

    什么是递归 我先看下百度百科的解释: 一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的.用递归过程定义的函数,称为递归函数,例如连加.连乘及阶乘等.凡是递归的函数,都是可计算的,即 ...

  3. elementaryos5安装mysql5.7、php7.2、nginx1.14.0

    一.mysql5.7 安装mysql5.7: sudo apt-get install mysql-server-5.7 查看安装的mysql版本: mysql -V 5.7版本mysql安装过程中以 ...

  4. IDEA设置导入主题样式皮肤,加入背景图片

    主题下载地址:http://www.riaway.com/theme.php 里面有很多主题,看个人喜好,这里我用的Monokai Sublime Text 3. 导入主题打开IDEA,找到File ...

  5. java中CyclicBarrier的使用

    文章目录 CyclicBarrier的方法 CyclicBarrier的使用 java中CyclicBarrier的使用 CyclicBarrier是java 5中引入的线程安全的组件.它有一个bar ...

  6. 理解分布式一致性:Paxos协议之Generalized Paxos & Byzantine Paxos

    理解分布式一致性:Paxos协议之Generalized Paxos & Byzantine Paxos Generalized Paxos Byzantine Paxos Byzantine ...

  7. [转]探索 Android 内存优化方法

    前言 这篇文章的内容是我回顾和再学习 Android 内存优化的过程中整理出来的,整理的目的是让我自己对 Android 内存优化相关知识的认识更全面一些,分享的目的是希望大家也能从这些知识中得到一些 ...

  8. 学习web前端的roadmap

  9. Geomesa-Hbase集群部署

    本文记录一下Geomesa-Hbase集群部署,在单机部署的基础上 https://www.cnblogs.com/help-silence/p/12817447.html 1.搭建集群 https: ...

  10. Recursion and System Stack

    递归是计算机科学中一个非常重要的概念,对于斐波那契那种比较简单的递归,分析起来比较容易,但是由于二叉树涉及指针操作,所以模仿下遍历过程中系统栈的情况. 以二叉树中序遍历为例演示: //二叉树定义 st ...