0% found this document useful (0 votes)
124 views

Exchange Server 2019 Protocols Overview

Exchange Server 2019 supports several protocols for client communication, including ROP protocols, EWS, MAPI, and SMTP. ROP protocols provide low-level access to Exchange storage and are optimized to minimize network traffic. They define both server and complex client behaviors and are wrapped in MAPI for Outlook clients. With over 40 protocols documents and 3000 pages, ROP protocols are not recommended for new applications due to their complexity. Modern Exchange Server offers better alternatives like EWS and MAPI.

Uploaded by

temp
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
124 views

Exchange Server 2019 Protocols Overview

Exchange Server 2019 supports several protocols for client communication, including ROP protocols, EWS, MAPI, and SMTP. ROP protocols provide low-level access to Exchange storage and are optimized to minimize network traffic. They define both server and complex client behaviors and are wrapped in MAPI for Outlook clients. With over 40 protocols documents and 3000 pages, ROP protocols are not recommended for new applications due to their complexity. Modern Exchange Server offers better alternatives like EWS and MAPI.

Uploaded by

temp
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

Exchange Server 2019 Protocols

Agenda
➢ New in Exchange Server 2019
➢ Exchange Protocols scope
➢ Exchange Protocols details
➢ Choice of protocol family
➢ Resources
Exchange Server 2019
Exchange Server 2019

Secure, proven architecture Performance and manageability Delighting End Users

Windows Server Core Faster and more reliable failovers Do Not Forward Meetings

Scale improvements Improved calendar management Smarter calendar management

New & improved search technology Simplifying connectivity Supporting EAI/IDN mail routing
Secure, Proven
Architecture
Exchange Server 2019 runs on Windows Server 2019 ONLY

Cloud Scale We made changes working with the Windows Server team to make this the most secure combination, and those

Code in Your changes exist only in Windows Server 2019.

Datacenter We RECOMMEND you run Exchange 2019 on Server Core

Most secure option

Smaller disk footprint

Smaller attack surface

So what does that mean to things like HCW?

Or queue viewer or… <insert mmc tool of choice>?


New Exchange Server 2019 installs will only use TLS 1.2
Cloud Scale
Code in Your Legacy ciphers and hashing algorithms such as RC2, RC4, DES,
3DES, MD5 and SHA will be disabled during install
Datacenter
We have prioritized the cipher order to prefer elliptic curve key
exchange.

And we use forward key secrecy mechanisms, so compromise of


long-term keys does not compromise past session keys

It’s important to ensure Exchange Server 2013/16 are up-to-date


for co-existence
Cloud Scale We’ve re-engineered search (yes, we know - again)
Code in Your
Datacenter Codenamed “Big Funnel” and uses Bing technology

No more search index files to manage

Indexes are now inside the database itself – in fact, inside each mailbox

So ‘normal’ log replication includes search indexes

For details refer this session: https://myignite.techcommunity.microsoft.com/sessions/65646


Performance and
Manageability
We’ve optimized our code to remove a lot of files that shipped
on the DVD and were installed onto the server
Performance and
Manageability This makes installs slightly faster, but the primary benefits are
reduced surface area, less disk usage and an overall
improvement to security

And no more UM Language packs to install, and re-install, and


re-install and re-install….

With all the improvement in Dynamic and Meta caching :

A 20% increase to the number of users you can put on a server

The option to use much larger disks

We cut client latency for many operations in half


Calendar Management can be hard
Performance and We’re giving Admins more tools to help with calendar
Manageability management

Remove-CalendarEvents - IT admins can cancel all meetings


organized by a user.

Examples:
Remove-CalendarEvents -Identity “Greg Taylor" -
CancelOrganizedMeetings -QueryStartDate 11-1-2018 -
QueryWindowInDays 120

It does not cancel appointments or meetings without attendees


or resources..
Delighting End
Users
Delighting Default End Date
End Users Clients will set a default end date when creating recurring series
instead of leaving it as no-end-date.
Do Not Forward
Organizers using OWA to create a meeting can mark it so that
attendees won't be able to forward
Transport in Exchange Server 2016 and 2019 will respect the flag
and prevent forwarding
Delighting Better OOF
End Users Additional options when setting up automatic replies. With
these options, the user can:

Block my calendar for this period

Decline new meeting invitations during specified period

Decline and cancel meetings during a specified period


Email Address Internationalization

Support for the latest standards, enabling the use of non-English characters in email
Delighting addresses to be routed and delivered natively

End Users This means you can send and receive to/from external users with EAI addresses – but
you can’t add an EAI proxy or Accepted Domain to your mailbox yet

What’s an EAI email address?

Examples of EAI email addresses:

Latin alphabet (with diacritics): Pelé@example.com


Greek alphabet: δοκιμή@παράδειγμα.δοκιμή
Traditional Chinese characters: 我買@屋企.香港
Japanese characters: 甲斐@黒川.日本
Cyrillic characters: чебурашка@ящик-с-апельсинами.рф
Hindi email address: संपर्क@डाटामेल.भारत
System
Requirements 1. Windows Server 2019 (Server Core preferred)

Summary 2. .NET Framework 4.7.2

3. AD FFL 2012R2 or later

4. 128GB recommended minimum RAM for mailbox role

5. Co-existence n-2 (Outlook and Exchange Server) – so no Exchange 2010 co-


existence
Exchange Protocols
Exchange
Online
Microsoft
Graph 365
Services

Cloud (M365)
Apps
E E
On Prem (Exchange Server
Exchange 2019)
W A
S On Prem S
MAPI

MS Clients
Client communication with Exchange Server

EAS Storage

EWS

ROPs
M
A NSPI
P
I MAPIHTTP

POP/IMAP

SMTP
There is more to Exchange then email
Calendars Recurring meetings, cross time zone scheduling
Availability – both attendees and conference rooms
Tasks One-time or recurring
Tracking Due Date and Assignment
Contacts Multiple Contacts Folders, Suggested Contacts
Address book for mobile devices
Reminders For Calendars, Tasks, Emails

Notifications Server notifies Client that mailbox changed (new mail, etc.)
Push or Pull
There is even more to Exchange then email
Rules Server Side and Client Side
Applied on messages on arrival, even when client is not connected
Out of Internal and External recipients can get different OOF messages
Office Time restrictions
Mail Tips Show user that recipient is Out of Office
Warning that mail includes very large DL, etc.
Compliance Legal Search (eDiscovery)
Legal Hold
Archiving Separate Archive for old emails, accessible by client
Retention policies set per folder
And so on... Delegate Access, Load Balancing. Mailbox moves, High Availability, and more.
ROP Protocols
History of terminology – what is “ROP”?
▅ Initial name: RPC protocols
• Remote Operations (ROPs) over RPC connection
• RPC is just a channel to exchange binary blobs between client and server
• This binary blob can be transmitted by other underlying protocols
• RPC over TCP or RPC over HTTPS (MS-OXCRPC)
• Pure HTTPS (MS-MAPIHTTP)

▅ MAPIHTTP is RPC replacement (Exchange Server 2013)


• The same binary blob is now transmitted over HTTP, bypassing RPC
▅ Since it’s not RPC any more, we now call them ROP Protocols
• In many places it is still called “Exchange RPC protocols”, sometimes MAPI
ROP Protocols
▅ Transport layers: RPC/TCP, RPC/HTTPS or pure HTTPS
▅ Low-level access to Exchange Server Storage
• Optimized to minimize traffic on the wire
• Very complex parsing
▅ Used by MAPI
• Workhorse for Outlook for Windows Desktop
communication with Exchange Server
▅ Originally implemented in Exchange 4.0
• Extended and re-architected several times
ROP Protocols - Continue
▅ ROPs protocols define both Server and Client behaviors
▅ Client behaviors are very complex
• Wrapped in MAPI implementation on Outlook for Windows
Desktop
• Client performs logic to maintain complex items: Messages,
Folders, Calendar, Contacts, Tasks, etc…
• MAPI/CDO library is no longer supported
▅ Document Naming: [MS-OXO*] and [MS-OXC*]
• Over 40 Protocols, ~3000 pages
Example of complexity in ROP Protocols
RPC/HTTPS: Header Binary Blob
(EcDoRpcExt2)

RopSize ROP1 ROP2 … HSOT Table

RopID ROP Data RopID ROP Data

Note: No ROP Data size or end marker.


Every ROP Data in the blob must be parsed.
Every RopID has different ROP Data structure.
Number of documented RopIDs: 130+
Where to start: ROP Protocols
ROP Protocols Summary
▅ Not recommended for new applications due to complexity
▅ Modern Exchange Server has good alternatives
• Exchange Web Services for On-Prem Server
• Microsoft Graph for Exchange Online
Exchange Web Services (EWS)
EWS Protocols
▅ Alternative to ROP protocols
▅ Higher level of abstraction compared with ROP protocols
• EWS implements messages, attachments, calendar events,
contacts on server side
• Outlook for Windows Desktop uses subset of EWS protocols
• Unified Messaging, MailTips, Availability, OOF, Office Apps, Room
List, Archive, Mailbox Policies, Calendar Sharing, Site Mailboxes, etc.
▅ Intuitive/readable XML (easier troubleshooting)
EWS Protocols- continued
▅ Versioning
• Clearly defined
• RequestServerVersion header element in each request let’s client to request
version-specific behavior
▅ Transport:
• SOAP over HTTP(S)
▅ Code in any language/platform that supports HTTP/SOAP calls
• SDKs are available as well

▅ Document Naming: [MS-OXW*]


• 43 Protocols, ~2000 pages
▅ First implementation: Exchange Server 2007
Where to start: EWS
▅ Not hierarchical
▅ Start with
MS-OXWSCORE
EWS SDKs
▅ Exchange Web Services (EWS) Managed API
• https://www.nuget.org/packages/Microsoft.Exchange.WebServices/

• https://github.com/OfficeDev/ews-managed-api

• https://docs.microsoft.com/en-us/exchange/client-developer/exchange-
web-services/explore-the-ews-managed-api-ews-and-web-services-in-
exchange
EWS Summary
▅ Recommended protocol for on-prem Exchange Server
applications
▅ Basic authentication only
• No OAUTH
▅ GRAPHAPIs is better alternative for Exchange Online
and Hybrid Exchange Server
• Modern authentication
• Seamless integration with other services (SharePoint,
OneDrive, Azure Active Directory, etc.)
• Feature updates will happen in Microsoft Graph APIs
Exchange Active Sync (EAS)
EAS Protocols
▅ Lightweight synchronization protocol for Exchange Server
• Optimized to work on high-latency and low-bandwidth networks
• Designed to minimize device power usage
▅ High level of abstraction, similar to EWS in complexity
• Provides access to email, calendar, contacts, tasks, documents,
etc...
▅ Transport Layer: WBXML over HTTPS
▅ Industry standard
• Several non-Exchange Server implementations
• Wide range of clients –iOS, Android, Windows, etc…
EAS Protocols Details
▅ Versioning
• Clearly defined version negotiation
• Version-specific features documented in open
specifications
▅ Document Naming: [MS-AS*]
• 15 Protocols; ~900 pages
▅ First Implementation: Exchange Server 2003
MS-ASPROV

MS-ASCNTC

MS-ASDOC

MS-ASCAL

MS-ASNOTE

MS-ASMS

MS-ASTASK
MS-ASCMD

MS-ASHTTP
MS-ASWBXML

MS-ASCON

MS-ASRM
MS-ASEMAIL
Where to start: EAS

MS-ASDTYPE

MS-ASAIRS
Typical Usage of Exchange ActiveSync
▅ Mobile Applications
▅ Tablets and lightweight desktop applications
• Allows for low-bandwidth and high-latency data (Internet)
connections while scaling reasonably on high-speed
connections.
▅ Additional considerations
• Not feature parity with Exchange ROPs and Web Service (EWS)
protocols
• Licensing requirements
▅ Microsoft Graph APIs is better alternative for Exchange online
Other Exchange protocols
▅ Autodiscover
▅ Content Conversion
▅ Standards-based protocols – Compliance and
Extensions
▅ [MS-OXPROTO] is a good reference
Which Protocol to use?
On-Premises choice
▅ EWS is recommended for new applications
Outlook for Mac uses EWS
▅ ROPs protocols are very complex
▅ EAS has special purpose
▅ Hybrid mode brings on-line richness to on-prem
implementations
Exchange Online has more…
▅ If you develop for Exchange Online, consider
Microsoft Graph APIs
• https://developer.microsoft.com/en-us/graph/
• https://aka.ms/30DaysMSGraph
Resources
Exchange Protocol Test Tools
▅ Protocol Test Suites
• Protocol families: EAS, EWS, and ROPs (RPC/MAPIHTTP)

▅ Fiddler Inspectors:
• Protocol families: ROPs (MAPIHTTP)
• Additional associated protocols
Exchange Protocol Resources
▅ All Exchange protocol documents
• https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols
▅ Fiddler inspectors for Office and Exchange protocols
• https://github.com/OfficeDev/Office-Inspectors-for-Fiddler
▅ Protocol Test Suites
• https://github.com/OfficeDev/Interop-TestSuites
▅ Help with Open Specifications:
• mailto:[email protected]
▅ Office Interoperability blog:
• https://docs.microsoft.com/en-us/openspecs/blog/ms-offintbloglp/61fc0f77-b3e6-
4b4f-aea9-ce472fa98835

You might also like