1.概述

   TCP/IP起源于60年代美国政府遮住的一个分组交换网络项目,在当今被定义为互联网通信接口,TCP/IP主要分为4层,每一层负责不同的通信功能,这促成了一个协议族的诞生,而TCP/IP是一组不同层次的多个协议的组合;

2.分层

  链路层:也称作网络接口层,包括操作系统中的设备驱动程序,用于处理与电缆的物理接口细节;

  网络层:互联网层,处理分组在网络中的活动,在TCP/IP协议族中,网络层协议包括IP协议,ICMP协议,IGMP协议

  运输层:为两台主机的应用程序提供到端的通信,在协议族中,有TCP(传输控制协议)和UDP(用户数据报协议),TCP为主机提供可靠的数据,将应用程序交给他的数据分成小块交给网络层,当确认接受到分组时,设置发送确认分组的超时时钟;UDP为应用层提供简单服务,称作数据报的分组.

  应用层:负责处理应用程序细节,处理包括

    Telnet:远程登录

    FTP:文件传输协议

    SMTP:简单邮件传输协议

    SNMP:简单网络管理协议

  

图中作为基本的传输层次协议,FTP作为应用层协议,TCP作为运输层协议,IP作为网络层协议,而以太网处于链路层.

TCP/IP作为一组不同组合的协议族,前者用于处理通信媒介细节,后者处理某个特定的程序,但是尽管看不那么明显,所以需要从一组网络看起.

3.TCP/IP分层

互联网构造的方式通过路由器进行连接,路由器是特殊网络互连的硬件盒,好处是为不同类型的物理网络提供连接,路由器也称为网关:一个连接两种不同的协议族的进程,为某个特定的应用程序服务

  在图中分为一个以太网和一个令牌环网,通过以路由器进行通信,可以划分出端系统(End System),中间系统(路由器),其中应用层和传输层使用端到端(End-to-end)协议,而网络层提供逐跳(Hop-by-hop)协议,在TCP/IP族中,网络层IP提供了不可靠的服务,为应对这种服务,TCP提供了超时重传,发送和接受端的确认分组.

   令牌环网用于在环路中持续获得节点进行传输,用于IBM系统中。

   而互联网的组成一部分为了隐藏应用程序中物理的实现细节,在连接的过程中不需要考虑路径,而连接网络的途径可以通过使用网桥,网桥是链路层中对网进行互连,而路由器通过网络层对网络进行互联,使多个LAN进行组合,而TCP/IP倾向于路由器.

  在运输层中,主要有TCP和UDP,都是用网络层协议。

  TCP提供了不可靠的IP服务,但提供了可靠的运输服务.

  UDP为应用程序发送和接受数据报.一个数据报值发送方传输到接收方的一个信息单元.当UDP不可靠,无法保证数据报能安全到达目的地.

  IP是网络层的主要协议,被两者使用,每组数据通过端系统和每个中间路的路由器进行传输。

  ICMP是IP协议的附属协议,IP用它来与其他主机或路由器交换错误报文和其他重要信息

  IGMP是Internet组管理协议,用来把一个UDP数据包多播到多个主机,

  ARP是地址解析协议与RARP(逆地址解析协议)相同,是某个网络接口的特殊协议,用来转换网络层和链路层使用的地址

4.域名系统

互联网通过DNS(域名系统)来识别地址信息,是一个分布式数据库

5.封装

  

  在传输过程中,数据被送入协议栈中,然后逐个通过每一层直接当作一串比特流送入网络,每一层收到的数据都要增加首部信息,在图中TCP给IP的数据单元称作TCP报文,IP传给网络接口层的数据单元乘坐IP数据报,通过以太网传播的流叫做帧(frame),帧头和帧尾标注的数组为以太网帧首部的字节长度,特性长度为46~1500字节之间.

  UDP与TCP数据基本一致,区别在于UDP传给IP的单元信息为UDP数据报,首部为8字节.

6.分用

  分用用于接收数据的上层协议,保证协议的准确性

  

7.C/S MODEL

  服务可以称为重复型合并发型,

  重复型提供了以下步骤:

    1.等待用户请求

    2.处理客户请求

    3.发送响应给发送请求的客户

    4.返回I1

  并发型:

    1.等待

    2.启动新服务器处理,产生新的进程以来底层系统支持

    3.返回C1

  并发型优点在于生成其他服务器请求客户请求.

8.端口

  服务器中通过端口号识别应用程序。

9.标准化过程

  由4个协会控制着TCP/IP分别为

  1.Internet协会(IOSC)

    推动Internet增长的组织

  2.Inernet体系结构委员会(iab)

   技术监督和协调机构

  3.Internet小组(IESG)

     负责提供规范

   4.Internet研究小组(IRIF)

      研究

TCP/IP Basic的更多相关文章

  1. RTSP RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议

    RTSP 编辑 RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetwo ...

  2. 读书笔记——《图解TCP/IP》(1/4)

    读书笔记——<图解TCP/IP>(1/4) 经典摘抄 第一章 网络基础知识 1.独立模式:计算机未连接到网络,各自独立使用的方式. 2.广域网 WAN 局域网 LAN 城域网 MAN 3. ...

  3. 基于tcpdump实例讲解TCP/IP协议

    前言 虽然网络编程的socket大家很多都会操作,但是很多还是不熟悉socket编程中,底层TCP/IP协议的交互过程,本文会一个简单的客户端程序和服务端程序的交互过程,使用tcpdump抓包,实例讲 ...

  4. LINUX 中的 TCP/IP协议 参数详解

    Ipsysctl tutorial 1.0.4 Prev Chapter 3. IPv4 variable reference Next https://www.frozentux.net/ipsys ...

  5. TCP/IP Protocol Fundamentals Explained with a Diagram

    最近准备系统学习网络相关的知识,主要学习tcp/ip, websocket 知识. 原文地址:http://www.thegeekstuff.com/2011/11/tcp-ip-fundamenta ...

  6. TCP/IP协议、UDP协议、 Http协议

    开放式系统互联通信参考模型(Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化 ...

  7. 在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP

    如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...

  8. 在系统启动时,Windows Vista 中、 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TIME_WAIT 状态的所有 TCP/IP 端口

    在系统启动时,Windows Vista 中. 在 Windows 7 中,Windows Server 2008 中和在 Windows Server 2008 R2 中的 497 天后未关闭 TI ...

  9. TCP/IP协议栈与数据报封装 (802.3 Ethernet 以太网 802.11 WLAN 无线网 )

    http://blog.csdn.net/jnu_simba/article/details/8957242 一.ISO/OSI参考模型 OSI(open system interconnection ...

随机推荐

  1. HDU 5584 LCM Walk【搜索】

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5584 题意: 分析: 这题比赛的时候卡了很久,一直在用数论的方法解决. 其实从终点往前推就可以发现, ...

  2. python 集合创建

  3. JQuery------库

    JQuery-------------模块.类库 集成了DOM/BOM/JS的类库 一.查找元素 DOM 10左右 JQuery: 选择器: 筛选: ps:版本: 1.x:兼容性最好.1.12推荐 2 ...

  4. behavior planning——11 create a cost function speed penalty

    A  key part of getting transitions to happen when we want  them to is the design of reasonable cost ...

  5. vue tab栏缓存解决跳转页面后返回的状态保持

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8& ...

  6. Laravel 修改默认日志文件名称和位置

    修改默认日志位置 我们平常的开发中可能一直把laravel的日志文件放在默认位置不会有什么影响,但如果我们的项目上线时是全量部署,每次部署都是git中最新的代码,那这个时候每次都会清空我们的日志,显示 ...

  7. 微信小程序下拉刷新 并重新加载数据

    1.在json页面配置: { "enablePullDownRefresh": true } 2.调用刷新函数 onPullDownRefresh: function() { wx ...

  8. Python--day46--mysql触发器

    触发器:当对某张表做:增删改操作时,可以使用触发器自定义关联行为 1,为什么需要创建mysql触发器? 比如说我往tb1表里面插入一条数据的时候,同时需要往日志表tb2中插入这条数据,这时候就需要创造 ...

  9. C# 传入 params object 长度

    刚刚 LiesAuer 大神问了一个问题,如果在 params object 传入 object 数组,那么拿到的值是的长度是多少 我做了测试在传入不同的值可能拿到不同的长度 先来说总结 传入一个数组 ...

  10. PC端页面如何调用QQ进行在线聊天?

    pc端如何实现QQ在线咨询? html代码如下: <a href="tencent://message/?uin=1234567&Site=Sambow&Menu=ye ...